package at.fhooe.mc.control.manual;

/**
 * interface for the manual control modules to interact with the Elevator Control Center
 *
 * @author Thomas Wirth
 *
 */
import at.fhooe.mc.data.ControlMode;
import at.fhooe.mc.data.DirectionType;

public interface IManualControl {

	/**
	 * change the control mode
	 *
	 * @param elevatorIndex elevator index
	 * @param mode new mode
	 */
	public void changeControlMode(int elevatorIndex, ControlMode mode);

	/**
	 * change the target of a elevator
	 *
	 * @param elevatorIndex elevator index
	 * @param newTarget new target (range: 0 .. max floor -1)
	 */
	public void manualControl(int elevatorIndex, int newTarget);

	/**
	 * change the direction of a elevator
	 *
	 * @param elevatorIndex elevator index
	 * @param type new direction
	 */
	public void manualDirection(int elevatorIndex, DirectionType type);

}
